#include "bsp_key.h"

void key_init(void)
{
	gpio_config_t gpio_init_struct;

	gpio_init_struct.intr_type = GPIO_INTR_DISABLE;
	gpio_init_struct.mode = GPIO_MODE_INPUT;
	gpio_init_struct.pull_up_en = GPIO_PULLUP_ENABLE;
	gpio_init_struct.pull_down_en = GPIO_PULLDOWN_DISABLE;
	gpio_init_struct.pin_bit_mask = 1ull << KEY_PIN;
	gpio_config(&gpio_init_struct); 
}

uint8_t key_scan(uint8_t mode)
{
	uint8_t key_val = 0;
	static uint8_t key_boot = 1;	//按键松开标志
	if (mode)
	{
		key_boot = 1;
	}
	if (key_boot && (KEY==0))	/*按键松开标志为1，且有一个按键按下*/
	{
		vTaskDelay(10);
		key_boot = 0;
		if (KEY == 0)
		{
			key_val = KEY_PRES;
		}
	}
	else if(KEY == 1)
	{
		key_boot = 1;
	}
	return key_val;
}